package cn.easier.activity.console.service;


import cn.easier.activity.web.entity.ActivityTemplateInfo;
import cn.easier.club.base.dto.ResultInfo;

import java.util.List;
import java.util.Map;

/**
 * 模板信息Service
 */
public interface ActivityTemplateInfoService {

    /**
     * 获取所有的模板
     *
     * @return Key-Value 模板id-模板名称
     */
    Map<Integer, String> findAll();

    /**
     * 创建模板对象
     *
     * @param activityTemplateInfo 模板对象
     * @return
     */
    public ActivityTemplateInfo save(ActivityTemplateInfo activityTemplateInfo);

    /**
     * 修改模板对象
     *
     * @param activityTemplateInfo 模板对象
     * @return
     */
    public ActivityTemplateInfo update(ActivityTemplateInfo activityTemplateInfo);

    /**
     * 获取指定模板信息
     *
     * @param id 模板编号
     * @return
     */
    public ActivityTemplateInfo findOne(Integer id);

    /**
     * 分页获取所有模板信息
     *
     * @param scienceLabelIds 适应环境
     * @param fromLabelIds    活动形式
     * @param themeLabelIds   主题
     * @param pageIndex       当前页
     * @param pageNum         每页数据量
     * @return 分页模板信息
     */
    public ResultInfo findPage(String scienceLabelIds, String fromLabelIds, String themeLabelIds, String templateTypeIds, int pageNum, int pageSize);

    /**
     * 获取最新模板top
     *
     * @param top 获取top条数据
     * @return
     */
    public List<ActivityTemplateInfo> getNewest(Integer top);

    /**
     * 获取模板类型
     *
     * @param templateId 模板编号
     * @return 活动类型标识
     */
    public String getActivityType(Integer templateId);


    /**
     * 删除模板
     *
     * @param id 模板id
     * @return
     */
    public boolean delete(Integer id);
}
